SCJointData Operator 

image102.gif



SC JointData can be used to either set or get information about a joint. It requires a Joint input which can be accessed from either SCJointOperator or SCJointCounterOperator. All joints have a specific Joint ID integer and this integer can actually also be used as the Joint input.

SCJointOperator
can only define Particle From/To, Position From/To/World, and Type, so in order to set additional joint properties SC JointDataOperator is necessary.

Among the many useful features of this operator are its ability to set a joint's ability to break, it's breaking velocity & rotation thresholds, to define or redefine joint types and Particle To/From connections, and to track when a joint has broken (via the Broken output, which outputs 1 continuously when a joint is broken).

Operator Inputs 

ON - (Bool) This input data stream determines whether the operator is considered 'on' or 'off.' You can connect other operators to this input channel such as a Bool Helper to activate/deactivate the whole operator.

Time
- (Time) This input data stream is used to define the local time for the operator when the user wants to override the default system time.

Joint
- inputs the joint ID of the joint to be changed or reads the data from the joint.

Type
- lets you set the type of Joint that will be created between the two particles. Possible options are:

0 = Spherical
1 = Fixed
2 = Spring
3 = Cylindrical
4 = Hinge
5 = Ball
6 = Wobble
7 = Slider
 

Particle From - sets the "From" particle ID that will be used to create a Joint

Important
You must supply both object space positions when using these inputs. One input alone will cause an invalid Joint. This Joint position in space should be the same point in world space for each of positions you feed into these inputs.

Position From - defines the joint position in object space as seen from the "From" particle where the Joint will be placed between the two Joint partners.

Alignment From
- inputs the Joint's alignment in object space coordinates that needs to be created between the two particles.

Particle To
- sets the "To" particle ID that will be used to create a Joint

Position To
- defines the joint position in object space as seen from the "To" particle where the Joint will be placed between the two Joint partners.

Alignment To
- inputs the Joint's alignment in object space coordinates that needs to be created between the two particles.

World Position - inputs the Joint's position in world space coordinates that needs to be created between the two particles.

World Alignment
- inputs the Joint's alignment in world space coordinates that needs to be created between the two particles.

Breakable
- sets if a joint is breakable or not. (a value of 1 means breakable)

Break Vel. Threshold
- sets the maximum velocity allowed before the Joint "breaks off"

Break Rot. Threshold
- sets the maximum allowed rotational speed (angle change per second) before the Joint is broken

Broken
- sets this input to 1 to break the joint immediately

Collision
- connect a value of 1 to this input to allow for collision detection between Joint objects

Spring
- defines the Spring Power, the higher this value the more power the spring will have

Angle
- defines the rotational constraining angle of this joint

Initial Angle
- sets the starting angle of this Joint type

Length
- defines the "length" of this joint (Slider Joint)

Initial Length
- sets the starting length (position) of this Joint type (Slider Joint)

Wobble
- defines the "wobble" factor of this joint (Wobble Joint)

Friction
- sets a friction value for this Joint

Damping
- sets the dampening factor of this Joint type

Spring Initial
- defines a "pre-loading" amount for the spring. Positive values will force to push the object away and negative values will pull the objects towards the Joint axis point. This value is visualized in the view port in the form of a rectangular dot, either moving up or down from the joint axis point.

Operator Outputs 

Type - outputs the type of Joint that will be created between the two particles. Possible options are:

0 = Spherical
1 = Fixed
2 = Spring
3 = Cylindrical
4 = Hinge
5 = Ball
6 = Wobble
7 = Slider
 

Particle From - outputs the "From" particle ID that was used to create a Joint

Position From
- outputs the joint position in object space as seen from the "From" particle where the Joint will be placed between the two Joint partners.

Alignment From
- outputs the Joint's alignment in object space coordinates that needs to be created between the two particles.

Particle To
- outputs the "To" particle ID that will be used to create a Joint

Position To
- outputs the joint position in object space as seen from the "To" particle where the Joint will be placed between the two Joint partners.

Alignment To
- outputs the Joint's alignment in object space coordinates that needs to be created between the two particles.

World Position - outputs the Joint's position in world space coordinates that needs to be created between the two particles.

World Alignment
- outputs the Joint's alignment in world space coordinates that needs to be created between the two particles.

Breakable
- outputs the state of a joint, if a joint is breakable or not. (a value of 1 means breakable)

Break Vel. Threshold
- outputs the maximum velocity allowed before the Joint "breaks off"

Break Rot. Threshold
- outputs the maximum allowed rotational speed (angle change per second) before the Joint is broken

Broken
- outputs the status of the Joint an output value of 1 indicates a broken joint.

Collision
- outputs a value of 1 when collision detection between Joint objects is active, 0 when inactive

Spring
- outputs the Spring Power, the higher this value the more power the spring will have

Angle
- outputs the rotational constraining angle of this joint

Initial Angle
- outputs the starting angle of this Joint type

Length
- outputs the "length" of this joint (Slider Joint)

Length Initial
- outputs the starting length (position) of this Joint type (Slider Joint)

Wobble
- outputs the "wobble" factor of this joint (Wobble Joint)

Friction
- outputs a friction value for this Joint

Damping
- outputs the damping factor of this Joint type

Spring Initial
- outputs a "pre-loading" amount for the spring. Positive values will force to push the object away and negative values will pull the objects towards the Joint axis point. This value is visualized in the view port in the form of a rectangular dot, either moving up or down from the joint axis point.

Rollout Menus 

image103.gif

The SC Joint operator offers only a few settings to adjust. Find below the possible settings:

Collision
- lets you choose from the drop down menu the physics engine solver to use for the Joint simulation. All compatible solvers found in the thinkingParticles setup will be automatically listed.